package com.mrper.util;

import android.content.Context;
import android.util.DisplayMetrics;
import android.util.TypedValue;

/**
 * Created by admin on 2016/3/8.
 * 单位转换辅助类
 */
public class DensityUtil {

    /**
     * dip转px
     * @param context 上下文对象
     * @param dipValue dp值
     * @return px值
     */
    public static float dip2px(Context context,float dipValue){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dipValue,displayMetrics);
    }

    /**
     * px转dip
     * @param context 上下文对象
     * @param pxValue px值
     * @return dip值
     */
    public static float px2dip(Context context,float pxValue){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return pxValue / displayMetrics.density;
    }

    /**
     * sp转px
     * @param context 上下文对象
     * @param spValue sp值
     * @return px值
     */
    public static float sp2px(Context context,float spValue){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,spValue,displayMetrics);
    }

    /**
     * px转sp
     * @param context 上下文对象
     * @param pxValue px值
     * @return sp值
     */
    public static float px2sp(Context context,float pxValue){
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return pxValue / displayMetrics.scaledDensity;
    }

}
